package zhupf.test.designPattern.factory.factoryMethod;

/**
 *   业务需求：
 *      客户在点披萨的时候，可以点不同口味的披萨，不如，北京的奶酪披萨，北京的胡椒披萨，伦敦的奶酪披萨，伦敦的胡椒披萨
 *
 *   思路1：
 *      使用简单的工厂模式，创建不同的简单工厂，比如：BJPizzaSimpleFactory、LDPizzaSimpleFactory等等，从当前这个案例来说是可以的，
 *      但是考虑到项目的规模，和项目的可维护性，可扩展性来说并不是特别的好
 *   思路2：
 *      使用工厂方法模式:
 *          设计方案：    将披萨项目的实例化功能抽象成一个抽象方法，在不同的口味点餐子类中具体实现
 *          工厂方法模式： 定义了一个创建对象的抽象方法，由子类决定要实例化的类，工厂方法模式将对象的实例化推迟到了子类
 */
public class PizzaStore {
    public static void main(String[] args) {
        new LDOrderPizza();
    }
}
